package com.efast.cafe.commponent.statemach.service.impl;

import java.util.Map;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.alibaba.fastjson.JSONObject;
import com.efast.cafe.commponent.statemach.service.event.StateMachEventHandler;

@Service
@Transactional
public abstract class StateMachAbstractServiceImpl {
	private StateMachEventHandler eventHandler = new StateMachEventHandler();

	public StateMachEventHandler getEventHandler() {
		return eventHandler;
	}

	public void setEventHandler(StateMachEventHandler eventHandler) {
		this.eventHandler = eventHandler;
	}

	// 增加业务监听
	public abstract void addListener(Object object, String methodName, Object... args);

	// 执行
	public abstract void execute(Long confId, Long taskId, String parajson,Map<String, JSONObject> extFormDataJson);
}
